/*Scrivere un programma che - legge in input un array non ordinato di interi nell'intervallo [0,1]; - ordina l'array con una sola scansione (attenzione: l'unica operazione consentita รจ lo scambio di elementi); - stampa l'array ordinato. */ #include #define dim 7 void swap(int *x, int *y) { int temp; temp=*x; *x=*y; *y=temp; } /* uso dello swap */ void array(int v[], int from, int to) { if(fromv[to]) { swap(&(v[from]), &(v[to])); array(v, from+1, to-1); } } } /* prima alternativa : ricorsiva */ void array1(int v[], int Dim) { int i, j, p; for(i=1; i0)&&(v[j-1]>p)) { v[j]=v[j-1]; j--; v[j]=p; } } } /* seconda alternativa : iterativa*/ void array2(int v[], int from, int to) { while(fromv[to]) swap(&v[from], &v[to]); } from++; to=to-1; } } int main() { int i, j, f, A[dim]; printf("array:\n"); for(i=0; i